# coding=utf8

# Copyright 2018 JDCLOUD.COM
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# NOTE: This class is auto generated by the jdcloud code generator program.


class Instance(object):

    def __init__(self, instanceId=None, resourceId=None, instanceName=None, engineVersion=None, replicaNum=None, shardNum=None, chNodeClass=None, chNodeStorageType=None, chNodeStorageGB=None, chNodeCPU=None, chNodeMemoryGB=None, zkNodeClass=None, zkNodeNum=None, zkNodeCPU=None, zkNodeMemoryGB=None, zkNodeStorageGB=None, monitorNodeClass=None, monitorNodeNum=None, monitorNodeCPU=None, monitorNodeMemoryGB=None, monitorNodeStorageGB=None, totalCPU=None, totalMemoryGB=None, totalStorageGB=None, regionId=None, azId=None, vpcId=None, subnetId=None, instanceStatus=None, createTime=None, charge=None, tags=None):
        """
        :param instanceId: (Optional) 实例ID
        :param resourceId: (Optional) resrouceId
        :param instanceName: (Optional) 实例名称
        :param engineVersion: (Optional) 实例引擎版本
        :param replicaNum: (Optional) 实例副本数
        :param shardNum: (Optional) 实例分片数
        :param chNodeClass: (Optional) 规格
        :param chNodeStorageType: (Optional) 存储类型
        :param chNodeStorageGB: (Optional) 节点存储空间
        :param chNodeCPU: (Optional) CPU核数
        :param chNodeMemoryGB: (Optional) 内存单位GB
        :param zkNodeClass: (Optional) zk节点规格
        :param zkNodeNum: (Optional) zk节点数目
        :param zkNodeCPU: (Optional) CPU核数
        :param zkNodeMemoryGB: (Optional) 内存单位GB
        :param zkNodeStorageGB: (Optional) zk节点存储空间
        :param monitorNodeClass: (Optional) monitor节点规格
        :param monitorNodeNum: (Optional) monitor节点数目
        :param monitorNodeCPU: (Optional) CPU核数
        :param monitorNodeMemoryGB: (Optional) 内存单位GB
        :param monitorNodeStorageGB: (Optional) monitor节点存储空间
        :param totalCPU: (Optional) 总CPU核数
        :param totalMemoryGB: (Optional) 总内存单位GB
        :param totalStorageGB: (Optional) 总节点存储空间
        :param regionId: (Optional) 地域ID
        :param azId: (Optional) 可用区ID，目前仅支持单可用区
        :param vpcId: (Optional) VPC的ID
        :param subnetId: (Optional) 子网的ID
        :param instanceStatus: (Optional) 实例状态，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
        :param createTime: (Optional) 实例创建时间, UTC 时间格式
        :param charge: (Optional) 计费配置
        :param tags: (Optional) 标签信息
        """

        self.instanceId = instanceId
        self.resourceId = resourceId
        self.instanceName = instanceName
        self.engineVersion = engineVersion
        self.replicaNum = replicaNum
        self.shardNum = shardNum
        self.chNodeClass = chNodeClass
        self.chNodeStorageType = chNodeStorageType
        self.chNodeStorageGB = chNodeStorageGB
        self.chNodeCPU = chNodeCPU
        self.chNodeMemoryGB = chNodeMemoryGB
        self.zkNodeClass = zkNodeClass
        self.zkNodeNum = zkNodeNum
        self.zkNodeCPU = zkNodeCPU
        self.zkNodeMemoryGB = zkNodeMemoryGB
        self.zkNodeStorageGB = zkNodeStorageGB
        self.monitorNodeClass = monitorNodeClass
        self.monitorNodeNum = monitorNodeNum
        self.monitorNodeCPU = monitorNodeCPU
        self.monitorNodeMemoryGB = monitorNodeMemoryGB
        self.monitorNodeStorageGB = monitorNodeStorageGB
        self.totalCPU = totalCPU
        self.totalMemoryGB = totalMemoryGB
        self.totalStorageGB = totalStorageGB
        self.regionId = regionId
        self.azId = azId
        self.vpcId = vpcId
        self.subnetId = subnetId
        self.instanceStatus = instanceStatus
        self.createTime = createTime
        self.charge = charge
        self.tags = tags
